#!/usr/bin/python
# --coding:utf-8--
"""
使用正则表达式提取某站点读书信息
"""

# python正则表达式模块
import re
# 负责模拟浏览器发送请求的包
import requests

# 保存爬取到的所有书籍信息
books = []
# 爬取前4页书籍数据
for i in range(1, 4):
    # try:
        # 设置请求头，模拟浏览器访问网页
        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'}
        # 发送请求并获取html脚本代码
        html = requests.get('https://www.dushu.com/lianzai/1115_'+str(i)+'.html', headers=headers)
        html.encoding = 'utf-8'
        html_text = html.text

        # 使用re正则表达式模块的compile方法创建正则表达式，采用re.S（点任意匹配模式）
        pattern = re.compile('<li.*?>.*?<div.*? class="book-info">.*?<div.*?<a.*?<img.*?data-original="(.*?)".*?>.*?'
                             '<h3><a.*?>(.*?)</a></h3>.*?<p>(.*?)</p>.*?<p.*?class="disc.*?>(.*?)</p>.*?</div>.*?</li>',
                             re.S)
        # 调用re.findall方法通过正则表达式爬取书籍信息
        items = re.findall(pattern, html_text)
        print(items)

#
#         for item in items:
#              book = [] #保存一本书籍信息
#              book.append(item[0])  # 书籍封面图
#              book.append(item[1])  # 书籍名称
#              book.append(item[2])  # 书籍作者
#              book.append(item[3])  # 数据简介
#              books.append(book)
#              print(book)
#     except:
#         print("爬虫结束……")
#
# print(len(books))
#
